home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
011
/
qmod113.arc
/
QMODEM.DOC
< prev
Wrap
Text File
|
1985-12-24
|
56KB
|
1,226 lines
Qmodem - Telecommunications Program Version 1.13 Page 1
Qmodem Operations Manual
Version 1.13
The Forbin Project Inc.
and John Friel III
24 December 1985
Copyright (c) The Forbin Project Inc. and John Friel III
All rights to Qmodem are reserved by the Forbin Project Inc.
Qmodem - Telecommunications Program Version 1.13 Page 2
Qmodem is a User Supported program. I am asking for a
donation of $20.00 for its use. Those that donate will
receive published announcements for future updates to
Qmodem and other programs written by the Forbin Project Inc.
Qmodem may be shared with other people under one
condition; that there is NO CHARGE for the copy(s).
A special note to Corporations: Site licensing is available
by arrangement with the author. Do NOT make multiple copies for
use inside your corporation until you contact The Forbin Project
Inc.
The Forbin Project Inc.
c/o John Friel III
715 Walnut Street
Cedar Falls, Iowa 50613
Qmodem - Telecommunications Program Version 1.13 Page 3
T A B L E O F C O N T E N T S
Page
Description .................................. 5
System Requirements .......................... 6
Starting Qmodem .............................. 7
Commands ..................................... 8
Alt-A Strip / Replace communication table 9
Alt-B Bells and Beeps toggle ............ 9
Alt-C Clear screen ...................... 9
Alt-D Dialing directory ................. 10
C) Clear entry(s) .................. 10
D) Dial an entry ................... 11
E) Revise the Prefix file .......... 12
M) Manual dial a number ............ 13
N) Next page of the directory ...... 13
P) Previous page of the directory .. 13
R) Revise an entry ................. 13
X) Exit back to Qmodem ............. 14
Alt-E Echo toggle ....................... 14
Alt-G Graphic mode toggle ............... 14
Alt-H Hang-up modem ..................... 14
Alt-I Information on Qmodem ............. 15
Alt-J Function key menu ................. 15
Alt-L Log drive ......................... 15
Alt-O Sub directory change .............. 15
Alt-P Communication parameter menu ...... 16
Alt-Q Redial last number ................ 16
Alt-R DOS shell ......................... 17
Alt-S Split screen toggle ............... 17
Alt-T Screen Dump ....................... 17
Alt-V View file ......................... 18
Alt-W Disk directory and Xmit time ...... 18
Alt-X Exit Qmodem ....................... 18
Qmodem - Telecommunications Program Version 1.13 Page 4
Alt-Y Delete a file ..................... 19
Alt-Z Xon / Xoff toggle ................. 19
PgUp Upload menu ....................... 20
PgDn Download menu ..................... 23
Up-Arrow Scroll back screen ................ 24
Appendix A
QINSTALL - Qmodem Installation Program ...... 25
Appendix B
TURBO Pascal Usage .......................... 26
Appendix C
Dialing Directory description................ 27
Appendix D
A note from the Forbin Project Inc. ......... 28
Qmodem - Telecommunications Program Version 1.13 Page 5
D E S C R I P T I O N
Qmodem is a modem communications program. It can store
many phone numbers in a personal directory for later recall. It
will handle a variety of modems connected to the PC. Transfer
files to other computers using either XON / XOFF or the
ever popular XMODEM protocols. The program was written
using Turbo Pascal from Borland International.
Qmodem - Telecommunications Program Version 1.13 Page 6
S Y S T E M R E Q U I R E M E N T S
Qmodem requires an IBM PC/XT/AT/PCjr or close compatible
with 192K, a Color/Graphics or Monochrome card and monitor, and a
serial port and modem.
It should be noted here, that Qmodem sometimes does not work
on a PC when other background software is running. I have heard
a few horror stories where a screen clock routine caused all
sorts of problems with the serial port.
Qmodem - Telecommunications Program Version 1.13 Page 7
S T A R T I N G Q M O D E M
Throughout the documentation, you may run into the
characters [RETURN] and <cr>. These represent the return key on
the keyboard. If you see these in the text, press the return key
rather than typing in the string.
Qmodem is started by entering "Qmodem [RETURN]" from the
DOS prompt like the following.
A>Qmodem [RETURN]
Please read the opening screen carefully. Press any key to
continue on into Qmodem. At the top of the next screen, Qmodem
displays the version logo and what type of display card you are
using. Immediately after the logo, Qmodem looks for 6 files on
the disk as follows:
QMODEM.CNF - the configuration file.
QMODEM.KEY - the function key file.
QMODEM.PRE - the dialing prefix file.
QMODEM.FON - the dialing directory file.
QMODEM.XLT - the strip / replace table file.
QMODEM.WND - the window definition file.
If you are just starting and do not have the files listed
above, Qmodem will create most of them for you. Two of
them: QMODEM.CNF and QMODEM.WND are created by the Qinstall
program listed in Appendix A (also on you Qmodem Disk). For the
dialing directory, Qmodem will initialize all of the
communication parameters by asking you 3 or 4 questions.
Qmodem - Telecommunications Program Version 1.13 Page 8
C O M M A N D S
There are 29 commands in the Help Menu as follows.
Alt-A ........ Strip / Replace screen
Alt-B ........ Beeps and Bells toggle
Alt-C ........ Clear screen
Alt-D ........ Dialing directory
Alt-E ........ Echo toggle
Alt-G ........ Graphics mode toggle
Alt-H ........ Hang-up modem
Alt-I ........ Information on Qmodem
Alt-J ........ Function key menu
Alt-L ........ Log drive
Alt-O ........ Sub directory change
Alt-P ........ Communication parameter menu
Alt-Q ........ Redial last number
Alt-R ........ DOS shell
Alt-S ........ Split screen toggle
Alt-T ........ Screen Dump
Alt-V ........ View file
Alt-W ........ Disk directory and Xmit time
Alt-X ........ Exit Qmodem
Alt-Y ........ Delete a file
Alt-Z ........ Xon / Xoff toggle
Home ......... Main Menu window
PgUp ......... Upload menu
PgDn ......... Download menu
Up-Arrow ..... Scroll back screen
Ctrl-End ..... Sustained BREAK signal
Shft-Tab ..... Add Linefeeds toggle
Ctrl-PrtSc ... Printer echo toggle
Ctrl-Home .... Capture Buffer toggle
All are selected by pressing the corresponding key
combinations on the keyboard.
Qmodem - Telecommunications Program Version 1.13 Page 9
Alt-A Strip / Replace table.
Pressing the Alt-A key combinations produces a screen
containing the ASCII values 0 through 127 and their translate
equivalents. Above the translate table is the Character
representation of the highlighted entry, both received and
translated.
If, Qmodem has created the file, all entries will have
duplicate translate values. This is referred to as "No
translation performed".
To change (translate) an ASCII value, you move the
highlighted (semi box looking thing) around the table (up,
down, left, and right) to the number you want to strip or
replace. The number to the left of the dash is the ASCII position
in the table. The number to the right of the dash is the
character you will see when Qmodem receives the number on the
left. To change the character from the input, press the Space Bar
once. You will receive a prompt at the bottom of the screen
asking for an integer between 0 and 255. To strip the character
from the input, you need only replace the number on the right
with a 0 (ZERO). Press [RETURN] to complete the change. The S
key will swap the table showing the high bit entries 128 - 255.
Repeat the procedure to change any of these also. When you are
finished, press the [Esc] key to save the changes (if any) and
return to Qmodem ready.
Alt-B Bells and Beeps toggle
Qmodem can now be made totally silent. The Bells and Beeps
to signal you that something is different can be very distracting
in an office environment. You can set Qmodem's default state in
the installation program Qinstall, or toggle it on and off with
Alt-B.
Alt-C Clear screen
This will clear the screen of all data. If you are in
split screen mode, this will only clear the bottom portion of the
screen.
In addition to clearing the active screen, if ANSI graphics
mode has been enabled [see Alt-G in this document], Qmodem will
also send the escape sequences necessary to reset the screen
colors you have selected. For those of you who call Bulletin
Boards that have those neat color screens, sometimes, the colors
end up different than you would like. Using Alt-C will reset the
color on your screen back to your configuration selections.
It should also be noted; some clone computers, like the
Tandy 1000, use ANSI.SYS for the CLS command from DOS. You may
see "<-[02J" when typing CLS. This means you have booted up
Qmodem - Telecommunications Program Version 1.13 Page 10
without the ANSI.SYS in your CONFIG.SYS file. You need to add
the following line to your CONFIG.SYS file:
Device=ANSI.SYS<CR> <-- <CR> means RETURN key
Make sure you have this if you want ANSI graphics or your Al-C
puts funny characters on your screen.
Alt-D Dialing directory.
The following is an example of the dialing command prompt at
on the screen.
* Dial number(s) [ <cr> for Dialing Directory, <Esc> to exit ]
*
This is the quick entry prompt. Here, you can enter your
dialing directory number(s) and skip the dialing directory. All
of the dialing prefix codes are valid. For example, to dial
directory number 12, you would just enter "12<cr>" and Qmodem
will process the call. Instructions are given below for dialing
up to 10 different numbers in a single command!
With the use of the optional prefix codes, long distance
services may be utilized. Some services require the prefix
codes before the actual number, another needs it just at the end
of the number, while still others need two codes sent out.
Qmodem can handle all of the above cases with ease. Refer to
the dialing prefix subcommand below for a full explanation on
how to use the prefix codes.
The dialing directory can hold up to 200 names, numbers and
communication parameters. This command is also a small
environment in itself. From here, you can dial or revise any one
of the 200 numbers, change any one of the 5 prefix dialing
strings, enter a manual dial mode or just page through the
listing. There are Nine sub-function as follows:
C) Clear entry(s)
D) Dial an entry
E) Revise the Prefix file
N) Next page of the directory
M) Manual dial a number
P) Previous page of the directory
R) Revise an entry
X) Exit back to Qmodem
#) 0 to 9, shows numbered page
Clear entry(s)
The familiar "Number >" shows up again waiting for you to
Qmodem - Telecommunications Program Version 1.13 Page 11
enter a number in the range 1 - 200. Pressing [RETURN] exits
back to the dialing option menu. After entering a number, say 1
for example, Qmodem asks "Through >". Here you can enter a
larger number if you want to clear a continuous group or press
[RETURN] and Qmodem will repeat the first number for you. Last,
Qmodem says "Are you sure ?". To clear them a 'Y' or 'y' must be
entered, anything else and Qmodem aborts the clear command.
Dialing an entry
Again, the option side of the screen will clear and you
will see the prompt "Number >". Now you have two options: One,
you can enter a number in the range 1 - 200 and press enter, or
Two, you can prefix the number with one of five characters, [ +,
-, !, @, and #]. This will cause one of the five optional
prefix strings to be tacked on to the phone number from the
entry. The following examples show both good and bad dialing
entries:
Good ==> Number >+1
Number >#200
Number >123
Bad ===> Number >a12 (a is not a valid prefix)
Number >201 (number > 200)
Number >$1 ($ is not a valid prefix)
As I mentioned above, Qmodem now has the capability to dial
up to 10 different numbers at one time! At either of the dialing
prompts (quick dial or from within the dialing directory), you
can specify up to 10 different entry numbers (complete with
prefix codes) to be cycled through until a connection has been
established.
At the dial prompt, you are now allowed to enter up to 70
characters that define the entries in the phone book. An example
will be helpful now:
[(dial prompt)] +1, +12, +123, +!199- 50 51,52,53<cr>
Whew! That is a lot of dialing commands! Here is what
happens next. Qmodem parses (takes apart) the string of
characters and places each dialing command into a separate
holding area. There are only 10 such holding areas so Qmodem
will ignore any extras. The characters that tell Qmodem that
this is a new number are the comma "," and the space " ".
Commas and spaces can be next to each other for clarity if
you so choose. As in the example, the first area will
contain the string "+1". The second will contain "+12", third
"+123", fourth "+!199-", fifth "50", sixth has "51", seventh
holds "52" and the eighth contains "53".
As before, note that commas and spaces can be used
together and are ignored by Qmodem. When Qmodem finds a
Qmodem - Telecommunications Program Version 1.13 Page 12
holding area that has more that six characters, it flags it as
invalid and goes on to the next one. Remember, the maximum
characters is six for any one dial string!
Now comes the neat part! If you enter two or more entries
to dial, Qmodem automatically puts you in Re-Dial mode and starts
through the list, one at a time until it makes a connection.
When Qmodem senses the connection, it removes that entry
from the list so that when you finish the call, you can press
Alt-Q to continue with the previously selected numbers.
Revise Prefix entries
This is much the same as revising a dialing entry. A window
will open up near the bottom of the screen showing you all 5 of
the prefix entries. Enter the prefix character that corresponds
to the string you want to change or press [RETURN]. To clear an
entry, press [SPACE] and then [RETURN].
As stated earlier in the documentation, the prefix codes can
be used in a variety of ways. Let me set up a couple of examples
to demonstrate the versatility of prefix codes. I will make a
couple of assumptions: that we are using a Hayes compatible modem
and that we use three different long distance services.
Here are the Prefix code strings currently stored:
+) ,,,1234567
-) 1
!) 123-4567,,,1234567
@) 9,,
#) 999-9999,,,1234
Let's say we are using the type of service that needs the
special codes at the beginning of the call. We want to call
number 12 in the directory. The correct entry to the dial
subcommand would be "!12". The resulting command sent to the
modem would be:
ATDT999-9999,,,1234319 266 8086<cr>.
The commas used in the prefix codes are assumed to be the
default 2 second delay used by most Hayes compatible modems.
If you use a long distance system, you will have to experiment
with how many commas you need to make a successful call.
In the second scenario, the service in use needs a password
at the end of the long distance number. So, to dial number 12
again, use the command "12+". This will send the following
string to the modem:
ATDT319 266 8086,,,1234567<cr>.
Qmodem - Telecommunications Program Version 1.13 Page 13
And last but not least, a service that uses both types of
passwords. To make things seem worse, we are going to make the
call at work using the PBX exchange. This way, I can make full
use of three prefix codes at the same time. Once again, we will
dial 12 from the directory. The dialing command would be
"@!12+".
The string sent to the modem would be as follows:
ATDT9,999-9999,,,1234319 266 8086,,,,1234567
Of course, this string is 45 characters and most modems
limit the input to 40. Be careful not to exceed the limit!
Take out unnecessary spaces and commas to fit.
Manual dial
With manual dial, any combination of numbers and letters
(like SmartModem(tm) commands) can be used. Note too that
the dialing prefixes are valid in manual dial mode! Also,
after using manual dial, the Alt-Q redial will use the number
entered for the last manual dial. This will most likely save
some typing time for those of you that use strange dialing
combinations.
I did not put a limit on the number of characters and or
letters that could be entered in the manual dial. It is up to
you to determine how many characters that can be entered before
your modem will stop accepting data.
Next page
Shows the next page of the dialing directory unless page 10
is already displayed.
Previous page
Shows the previous page of the dialing directory unless page
1 is already displayed.
Revise an entry
The options side of the screen will clear and a prompt will
say "Number >". Enter the number of the directory to be changed.
Note that the number to be changed does not have to be displayed
for this to work. Any number between 1 and 200 including 1 and
200 will work fine.
A window will open up in the top middle of the screen. Each
part of the entry number is displayed, one part at a time, and
waits for you to enter something. If, for example, you are
Qmodem - Telecommunications Program Version 1.13 Page 14
updating just the number for a bulletin board, when the name is
displayed, just press [RETURN] to skip to the next entry. A null
entry in the form of [RETURN] at any prompt in the revise window
will NOT change the previous data for that entry. In other words,
you won't have to retype all of the data every time you want to
make a small change.
When the revision is complete, the window will disappear
and the directory will be updated on disk.
Exit dialing directory
This will make the dialing directory window disappear and
bring back the main screen just as it was before.
Alt-E Echo toggle
This will turn on and off the Echo feature of Qmodem. This
is used in case your keyboard strokes are echoed like "HHEELLOO"
or not visible at all.
Alt-F Configuration menu
The configuration menu has been moved to a separate program
called QINSTALL. Refer to Appendix A for instruction on
Installations.
Alt-G Graphics toggle
This is used to toggle the display of ANSI graphics. It
also controls the music to be heard if there is any. To use
ANSI graphics, you MUST have the ANSI.SYS in your CONFIG.SYS
file at boot-up time. For further questions about ANSI, please
consult your DOS manual.
Alt-H Hang up the Modem
This may do one of two things depending on what you have
entered in the configuration. If you have entered "DTR" for the
modem hangup string, Qmodem will toggle the "DTR" signal and the
connection will be dropped. Otherwise, it sends out the Modem
HangUp string.
Qmodem - Telecommunications Program Version 1.13 Page 15
Alt-I Information on Qmodem
This will always tell you what version of Qmodem you are
using, The day it was compiled, and MY name, John Friel III. If
you have any problems with Qmodem, please send me a card or a
letter and include this information. This is the only way I can
accurately solve the problem.
Alt-J Function key menu
This will open up a rather large window with 5 parameters.
Straight, Shifted, Ctrl, Alt and Return to Qmodem. Of course
this is only good for the 10 function keys. Select 1-4 to view
the current definitions for the key group. If you want to alter
any of the keys, enter the number to the left of the definition
at the bottom.
There are Two special character you can use. The "{"
character will be substituted by the [RETURN] key, and the "~"
will cause a one-half second pause.
Alt-L Log new drive
This opens a small window and asks for the drive letter to
become the default drive. This works in conjunction with the
Alt-W and downloads if no alternate drive was defined. Drive
letters A through Z are valid.
Alt-O Change Sub-directories
You MUST be using DOS 2.0 or higher for this command to
work. This has to be one of the neater features of Qmodem. With
this command, not one, but two windows open up. The long tall
one on the left of the screen is a listing of valid sub-dirs for
the current directory you are in. if you don't have any sub-dirs
or don't use them, this would be blank. the other main window
lists your current path (if any) and waits for you to enter a
CHDIR command. Any valid CD command can be entered here, not
just what shows in the left column.
Examples:
The current sub dir is C:\TURBO\QMODEM and I pressed Alt-O.
The left column would list .
..
TESTING
COLOSSUS
Only 2 optional sub-dirs showed up. To select TESTING, you
only need enter "testing" in the main window. No need to type
the whole thing in again. If you enter something wrong, Qmodem
will give you the message "Invalid CHDIR command. No changes
Qmodem - Telecommunications Program Version 1.13 Page 16
made." and the windows will disappear. On the other hand, Taking
the same example as above, if I wanted to switch to my optional
download directory, I could have typed in \COMM\DOWNLOAD to the
prompt and (provided the path was valid) I would then be at my
download sub-dir. Then I could do an Alt-W to check things out.
Note too, that if you include the drive specifier with a new
path command, only the path on that drive is changed. You will
not change your current logged drive to that which was specified.
This is important to remember, The only way to change the logged
drive is with the Alt-L command.
Alt-P Communications parameters
You can change your communication parameters "on-the-fly"
without having you modem hang up. Just select the right
parameters from the list shown. Pressing [RETURN] alone keeps the
previous setting and exits to Qmodem ready. If one of the list
entries is selected, the communication parameters are altered
to reflect the new choice before the window disappears.
Alt-Q Redial last number
The last number dialed through the Alt-D command can
be repeatedly dialed until connection is made. You MUST have
used the Alt-D first or you will get the message "Nothing to
Redial".
Provided there is a number to redial, Qmodem shows the
current time redial was entered, the current retry number, the
time and the statistics about the number (who and what the number
is). Depending on how you have your modem set up, specifically
the S7 register in the Hayes, the modem can time out and you get
a "* Modem timed out or line busy *" message or the Redial delay
was hit and Qmodem cycles the redial itself.
Please keep the Redial delay above 45 seconds, That way you
are assured of getting at least a busy signal and not cycling
just as the BBS is answering the phone.
While the window is open, you have Three commands:
C)ycle cancels the current call in progress and goes
on to the next number.
D)elete cancels the current call and deletes it from
the queue. This means Redial will no longer
try the number.
Any KEY will cancel the redial window and bring you
back to Qmodem's terminal mode. Pressing
Alt-Q again will restart the dialing cycle
again.
Qmodem - Telecommunications Program Version 1.13 Page 17
Alt-R DOS shell
If there is enough memory in your system and a copy of
COMMAND.COM is in the current path, you can temporarily drop
to DOS and return.
All DOS commands are then available, should you wish to
format a disk for example. You can NOT execute any program that
attaches itself to DOS. SideKick is a good example. To return
to Qmodem, enter the EXIT command at the DOS prompt. Remember,
not all programs can be executed in this fashion, Qmodem is
not designed to be a DOS shell.
Qmodem will try to position you back to where you were
before execution of Alt-R. But because of stupid Drive Letter
limitation in DOS, Qmodem may fail in this task. Drive letters
higher than O: are not recognized as valid and return an error,
even though DOS 3.0 and up allow for drives up to Z. Turbo
Pascal mimics the error and will not let you log a disk with the
ChDir procedure higher than O:.
I have gotten around that to some extent, but it is iffy at
best. Qmodem will print a "Warning" message on the screen upon
return if you were logged to a drive higher than O:. If, while
you were in the DOS shell, you changed drives and the logged
drive previous to the Alt-R was higher than O:, Qmodem will say:
* Warning: previous Drive\Path may be different.
This means you should check with Alt-O and Alt-L to see
where you are.
Alt-S Split screen mode
The screen is divided into two partitions. The bottom
partition has 4 lines and the top has 20 lines. I thought
there might be a need for something like this so here it is.
Alt-S is a toggle, so hitting Alt-S again will drop you out of
split screen mode. This is now true split screen mode
complete with a 254 character buffer. Pressing the <CR>
transmits the buffer. The keystrokes are kept track on on the
dividing line. The character "{" can be used to substitute a
[CR] in the string.
Alt-T Screen Dump
This copies the screen in its entirety to a file as
specified in Qinstall. The screen is APPENDed to the file with a
Time and Date stamp.
Qmodem - Telecommunications Program Version 1.13 Page 18
2.16 Alt-V View a file
This has several nice features wrapped into one. It will do
a selective directory search if wildcards are used in the
filename. Any number of these can occur until you either enter a
valid filename or you press [RETURN] for an invalid filename.
Both exit back to Qmodem ready.
If you enter a valid filename, you are then asked what
method you would like to view the file. Options include 1)
Qmodem internal method, 2) DOS TYPE command, and 3) your
favorite List or Browse utility. The last two choices depend
on how much free memory you have in your machine. Refer to the
DOS Shell command as the last 2 choices use a subset of the DOS
Shell. If you select 3, the window clears and you are given
a chance to read the bottom line which states: "Press [SPACE]
to pause, [Esc] to exit. Bytes queued = X". The later part
has to do with the amount of data coming in while you are
viewing a file. This will let you know where you are with
respect to communications.
Alt-W Disk directory with Xmit time
This is just like the DOS version of DIR /p. Depending on
where you are with respect to sub-directories, all of the normal
files are displayed with their respective attributes. One of the
enhancements I have made is to add the Transmit times to each
file. This Xmit time is is based on your current baud rate set
by the Alt-P command. Try changing the baud rate and doing an
Alt-W and see the Xmit times change. Don't you wish we all had
9600 baud modems?? I do!
For those of you who have very lengthy directories, you can
press the [Esc] key and Qmodem will skip the rest of the files
and show you the free space on the drive. That's something DOS
won't do.
Alt-X Exiting Qmodem
Pressing Alt-X will open yet another window (do you get the
feeling that I like the use of the windows??) and ask if you
really want to exit. Of course, this is just a safety valve in
case that you really didn't intend to press Alt-X. If you do
exit though, no matter where you are in your hard disk, Qmodem
will return you to where you started. Qmodem will also close
your Capture File if it is open and restore you system to normal.
Another command has been added to the Alt-X, entering an 'X'
in response. This will cause Qmodem to exit to DOS and leave the
DTR line active. If you were online with another computer, you
could issue the Alt-X command, enter an 'X', format a disk or
some such thing, and re-invoke Qmodem and still be online.
Qmodem - Telecommunications Program Version 1.13 Page 19
Alt-Y Delete a file
Yes Virginia, there is a file delete routine in Qmodem.
Like most file delete methods, Qmodem asks for a valid filename
and checks to see if that file exist in the current directory.
If it does, it asks you again if you really really want to delete
this file. This will be the last chance before you might do
something that can only be regretted later. Please be careful
with this one!
Alt-Z Xon / Xoff toggle
This will toggle the Xon / Xoff error checking built into
Qmodem. Xon / Xoff is a very simple means of flow control
usually used by mini and mainframe computers. With Xon / Xoff in
the OFF mode, a buffer overrun may occur in Qmodem on long ASCII
transmissions.
Qmodem - Telecommunications Program Version 1.13 Page 20
PgUp Upload a file
The PgUp key will open a window and ask you what type of
transfer protocol you would like to use. The choices are spelled
right out.
1) ASCII
2) Xmodem
3) Xmodem CRC
4) Relaxed Xmodem
5) IMP
5) Exit.
I personally got tired of adding '=X' to all of my file
transfers with PC-Talk. How many times have you been in a
hurry with an upload or a download and forgot the '=X'? Did
it screw things up? Now you know why I like to put things
in menus. Let me explain a about the different transfer methods.
ASCII Transfer. When you select ASCII for the transfer
method, be aware that line noise could make that nice looking
documentation look funny on the other end. Enough said.
The options that immediately show up for the transfer are as
follows:
'Enter the filename to Transmit >'
Answer this with the file you want to send. Next you get
a list of transfer methods. 1) Prompted 2) Time delay 3) No
delay. Each one has its advantages and disadvantages based
upon what kind of computer you are talking to. Prompted asks
you for the character to look for before sending a line of data.
The prompt character cannot be a [SPACE]. Time delay asks you
to enter a number in Hundredths of a second to wait before
sending a line of data. No delay is a 'Blast that data' until
it is all sent.
When ASCII mode is selected, XON / XOFF protocol is also in
effect. This was added at a very late date to support the mini
and mainframe methods. At any time during the transfer,
pressing the PgUp key will terminate the operation and bring you
to the Qmodem ready mode.
XMODEM Transfer. There are two methods currently used in
public domain to compute the validity of data sent via XMODEM.
The first method is called checksum. In checksum, the data block
has all of the bytes added together and is then ANDed with hex
'FF'. While checksum is a pretty reliable method of insuring
that the file you sent is correct, errors can creep in. I
believe the rate of error detection is somewhere near 99.6%.
The second method of error checking is called CRC,
short for Cylindrical Redundancy Checking. This method has
an error detection rate of 99.9969%. Unfortunately, not all
BBS software has CRC transfer available. Check with your local
Qmodem - Telecommunications Program Version 1.13 Page 21
board to find out which method should be used. Qmodem is
intelligent enough to figure out which is being sent when you
download, so if you select the wrong one, Qmodem will make
sure you get it right.
First, enter a valid filename to transmit. Qmodem will
check it out. Qmodem will wait approximately 20 seconds for a
NAK to be received to start the transfer. When the transfer is
started, much useful information is displayed. Total blocks to
send, Transmit time based on the current baud rate, The block
being sent, The current error count, and the time remaining till
completion. The time remaining till completion is based upon the
number of blocks remaining at any given time.
Lets face it, You will not be sending your data at the full
baud rate all of the time with XMODEM. The time delay for the
NAK/ACK response slows this down. Qmodem is fast though and this
will certainly help the phone bills. Here too, pressing the PgUp
will terminate the transfer if so desired.
Relaxed Xmodem is nothing more than regular Xmodem, except
the timing has been relaxed by a factor of 10. In other words,
it takes ten times longer for the error condition to be
generated. CompuServe users will appreciate this. In fact, it
was because of the way CompuServe's computers handle (or fail to
handle) Xmodem that this was added. Only use "Relaxed Xmodem"
when talking to CompuServe and even then use it at your
discretion.
The last one is IMP. This was completely thought up by me
and should NOT be confused with any other protocol out there.
Again, this is Unique to Qmodem v1.11 and up. IMP (Internal
Modem Protocol) is just that, it relies on the availability of
modems to do their own data transmission checking. A good
example would be the much talked about MNP from Microcom. MNP
protocol can be implemented on the hardware level usually inside
your modem. When two modems connect using MNP, the modems do all
the checking and retransmission necessary for a clean exchange.
Several modem manufacturers like ARK (ARK 24K), Novations new
2400, MultiTech's new 224 etc. have MNP built in.
But how does Qmodem take advantage of the MNP?
Simple, it doesn't do anything! Actually, the modems are
always verifying the data so there ARE no errors in the transfer.
IMP is a block oriented transfer method that uses no ACK or NAK
in the Xmodem sense. Every block that goes out is guaranteed to
get there the way it was sent. So, IMP does not wait for the
other computer to say if the block was correct or not, that is
handled by the modems in REAL time.
But why does CTS have to be used?
In my experiences with MNP in the modems, they use the CTS
signal to temporarily halt the flow to the modem when an error
Qmodem - Telecommunications Program Version 1.13 Page 22
does occur. If they didn't, Qmodem would overflow the modem and
lost data would result, and ultimately, a bad file transfer.
What are the advantages of IMP?
In my testing (from Virginia to Iowa, using 2 ARK 24K
modems), IMP showed an impressive 115 blocks a minute at 2400
baud. To put that in perspective, normal Xmodem (or Xmodem CRC)
could only get about 88 blocks a minute at 2400 baud. Remember,
to use IMP, the modems MUST have an internal protocol.
Qmodem - Telecommunications Program Version 1.13 Page 23
PgDn Download a file
Here too, you get the menu asking for the type of transfer
you want to use. Enter the appropriate response. Let me jump
right into the separate protocols.
ASCII. The screen will clear and you will be told that
pressing the PgDn key will terminate the transfer and save the
file. If you start the transfer, but no data has been received,
Qmodem will pretend as if no file was ever sent. I don't think
ASCII need much more explanation.
XMODEM. This is the new and improved method of keeping
track of the transfer. All types of errors are kept track of.
When the transfer starts, the download window clears and a list
of all of the errors are displayed. Total blocks received is
displayed at the top. The last line of the window shows the most
recent error message and at which block it occurred.
If you receive ten errors in a row, Qmodem will cancel the
transfer. As soon as one block of data is received successfully,
the error count is set to zero. Qmodem tries to recover from all
data errors. You will note too the speed of which Qmodem can
recover. If you are having a problem, give me a call. I am
willing to talk to you about any transfer problem that you may
encounter.
Again, "Relaxed Xmodem" was designed for talking to
CompuServe. See the description under File Upload in the
previous section.
For a description of IMP, see the previous discussion under
Upload protocols.
Now a brief description of the errors that can be detected
during an Xmodem transfer. Qmodem keeps track of each type
separately.
1) Long block error - Caused usually by line noise
and this creates extra characters in the transmission.
2) Short block error - if the line is weak or you
are recovering from a previous error, this can result.
It means that Qmodem did not receive enough characters
to complete the data block.
3) SOH error - The first character of every Xmodem
block is the SOH character (01 HEX). If the first
character is not an SOH, Qmodem flags the block as bad.
Chances are that if the first byte is bad, so are a few
others due to the fact that line noise usually last
long enough to corrupt more that one byte.
4) Complement error - The data block had two bytes
in the header to hold the block number that is
Qmodem - Telecommunications Program Version 1.13 Page 24
being transmitted/received. The second of these
two is the complement of the first (first byte XOR
255). This ensures that Qmodem is getting the correct
block.
5) Block # error - This is usually caused by line
noise too. The transmitting computer received a NAK
in place of the ACK Qmodem sent and resends the block
you just received successfully. Essentially, Qmodem
ignores the block and sends another ACK.
6) Checksum/CRC error - Every block of data in
Xmodem is followed by either a Checksum byte or by 2
CRC bytes. CRC is a more accurate method of error
detection, but requires one more byte to be sent in
every block. If the Checksum or CRC is wrong, Qmodem
sends a NAK and discards the data. Again, line noise
is usually the culprit.
This might be an appropriate place to mention that if you
have "Call Waiting" with your phone service and someone calls you
while you are doing an Upload/Download, you stand a chance of
getting errors. This may even terminate the transfer depending
on the noise generated. Be forewarned!
Up Arrow Scroll back the screen
By pressing the Up arrow, you can scroll back through the
previous lines of data that have come to the tube. The valid
keys in scroll back mode are
1) Up arrow - go up one line
2) Down arrow - go down one line
3) PgUp - go up one page
4) PgDn - go down one page
5) Esc - exit scroll back
Pressing the [Esc] will exit scroll back mode. This should
be pretty much self explanatory. When you reach the top of
the scroll, you get a message :
* Top of Scroll
When you are at the bottom :
* Bottom of Scroll
Qmodem - Telecommunications Program Version 1.13 Page 25
A P P E N D I X A
Qinstall - Qmodem Installation Program
Qinstall takes the place of the Alt-F key combination that
previous versions of Qmodem had. More information was needed to
explain the configuration than Qmodem could hold. I have taken
the Alt-F screens and reworked for ease of setup.
Qinstall will read any QMODEM.CNF file starting with Qmodem
version 1.06. You may see garbage in some of the data entry
areas depending on how old your CNF file is. It is important to
note; Qmodem v1.13 REQUIRES running Qinstall v1.13!
Lets jump right in and execute Qinstall.
The first thing you will see is the familiar QMODEM logo and
a list of options. These options are basically the same ones
that Qmodem used to have. I recommend going through all Six so
you can make sure the data looks good.
Select option number One. Qinstall will display the Six
Color Options of Qmodem, a Color Chart, and the sample Qmodem
display near the top. Depending on the type of monitor card you
are using, the edit fields are either inverse video (for
Monochrome) or hi intensity White on Blue (for Color Graphics).
Several keys need to be explained; as Qinstall contains a
mini editor.
Tab, Shift-Tab Goes from field to field.
Up and Down Arrows Same.
Left and Right Arrows Moves by character.
Insert and ^V Toggles INSERT mode.
Delete Deletes 1 character.
Esc Exit with no update
F10 Exit and Update.
F1 Context sensitive Help
If you have any questions on any of the fields, press the F1
key and Qinstall will show you more information about that field.
If you do not want to keep the changes made, and would like to
reset them to whatever they were when you entered the screen,
press Esc. To tell Qinstall to keep the changes you have made,
press F10. Pressing F10 does Two things... a preliminary Edit on
the data, and if it is good, saves it. If you have any wrong
data, Qinstall will warn you and position the cursor to the
offending spot.
Qinstall has been created with the NEW USER in mind. If you
are having trouble, I would like to know about it. Please write
me at the address given in Appendix D.
Qmodem - Telecommunications Program Version 1.13 Page 26
A P P E N D I X B
TURBO Pascal Usage
TURBO Pascal was used to create Qmodem for several
reasons. The language is easy to work with. It allows
structured top-down programming and the ability to define your
own types of variables. Just as a side note, Qmodem does
not have a single GOTO statement! Another advantage is the
creation of .COM files from the compiler. No more having
to load BASIC and then run your program.
The program editor is another big plus to the system. It
emulates the WordStar editor almost completely. TURBO Pascal
also lets you use all of the available memory in your system.
Programs can be larger than the available memory by the efficient
use of overlays. I could go on and on about TURBO Pascal. By
the way, I am not affiliated with Borland International, just a
very happy customer.
Qmodem - Telecommunications Program Version 1.13 Page 27
A P P E N D I X C
File structure of the phone directory
The following is a copy from the source code which shows
the file structure.
Type
check_bit = (even, none, oddd);
phone_type = record
name : string[25];
number : string[14];
speed, dbits, sbits : integer;
parity : check_bit;
end;
Qmodem - Telecommunications Program Version 1.13 Page 28
A P P E N D I X D
Please consider the donation of $20.00. Good software at a
good price is hard to come by. We at the Forbin Project
Inc. support the idea of "Shareware" and "Freeware" and hope
all of you do too. It's because of you that I am able
to bring you helpful programs like Qmodem. Thanks again.
The Forbin Project Inc.
c/o John Friel III
715 Walnut Street
Cedar Falls, Iowa 50613